home *** CD-ROM | disk | FTP | other *** search
/ PC Gamer (Italian) 47 / PC Gamer IT CD 47 2-2.iso / USAF / USAFDEMO.EXE / data1.cab / Game_Data / Resource / SoundFiles / PhraseTemplates.trx < prev    next >
Text File  |  1999-10-01  |  21KB  |  377 lines

  1. f; The phrase template file reresents the phrase used by the simulation
  2. ; to crease stitched sounds.
  3. ;
  4. ; Phrases are expressed using a simple expression/functional language.
  5. ;
  6. ; The following variables exist in the phrase language:
  7. ;
  8. ; FORMATION_WITH_POSITION - This variable returns the formation name plus the position of the entity in the formation (i.e. Austin1)
  9. ; FORMATION - This variable returns the formation name (i.e. Austin)
  10. ; SPLASHED - This variable returns the subtype of the last entity to be destroyed.
  11. ; SPLASHING - This variable returns the subtype of the last entity to destroy.
  12. ; SUBTYPE - returns the subtype of the entity (bandit, flogger, etc ...)
  13. ; SHOOTING_ENTITY - This variable returns the entity shooting on this entity.
  14. ; LOCKED_ON_ENTITY - This variable returns the entity locked on by this entity,
  15. ; THIS - This variable returns this entity.
  16. ; CONTROLLED_AIRCRAFT - This variable returns the controlled entity aircraft.
  17. ; FIRE_TYPE - This variable returns the fire type being shot on this entity (JINK_GUNS!, BREAK_MISSILE! etc...).
  18. ; FOX_FIRE_TYPE - This function returns the missile count fired used by the fox fire message.
  19. ; TALLY_ENTITY - This is the entity that we just saw.
  20. ; RADAR_MISSILE_COUNT - This is the number of radar missiles available.
  21. ; HEAT_MISSILE_COUNT - This is the number of heat missiles available.
  22. ; FUEL_LOAD - This is the fuel load available (FULL, HALF, BINGO).
  23. ; TOWER_NAME - This is the name of the current controll tower.
  24. ; FLIGHT_CONTROLLER_NAME - This is the name of the current flight controller (AWACS).
  25. ; PLANE_FORMATION_POS - This is the position of the plane in the formation ("One" - "Four")
  26. ; WIND - This is the simulation wind speed and direction.
  27. ; TANKER_ENTITY - This is the tanker entity.
  28. ; UP_DOWN_BOOMER - This is the direction to which the boomer needs to move as a string.
  29. ; ENGAGED_TYPE - This is the type of object the entity is engaging
  30. ;
  31. ; The following functions exist in the phrase language:
  32. ;
  33. ; GET_ENTITY_FORMATION - This function accepts an entity name and returns its formation.
  34. ; GET_ENTITY_FORMATION_WITH_POS - This function returns the entities formation and its position within the formation.
  35. ; GET_ENTITY_HEADING - This function returns the heading of the given entity.
  36. ; GET_ENTITY_DISTANCE - This function returns the distance of the given entity.
  37. ; GET_ENTITY_HEIGHT - This function returns the height of the given entity.
  38. ; IF - This function evaluates the first expression, if it is true it returns all of the strings before the ELSE otherwize it returns the strings after the ELSE. This function may accept any length of parameters.
  39. ; DIRECTION_AS_HOURS - This function returns the direction to an entity as hours (i.e. 7OCLOCK etc...).
  40. ; ABS_DIRECTION_AS_DEGREES - The bearing from the first entity to the second in world degrees
  41. ; INVOKE_PHRASE - This function invokes a phrase, it may accept the phrase name and optionaly the entity name. By default the current entity is used as the entity under which the phrase is invoked.
  42. ; IS_TWO_SEATER - This boolean function returns true if the phrase is a two seater plane.
  43. ; IS - This boolean function evaluates varios phrases and returns the result.
  44. ; RANDOM_VALUE - This function accepts any number of variables and returns one of them randomly.
  45. ; STR_SUBSTRING - This function accepts a string followed by a begin position and a length variable and it returns the appropriate substring.
  46. ; STR_CONTAINS - This function returns true if the first given string contains the second given string.
  47. ; STR_CONCAT - This function joins togther all the given strings into one string.
  48. ; SPEAKER_IS - This function accepts either AWACS/TOWER or ENTITY as parameter and returns TRUE if the current speaker is one of them
  49. ; STR_LENGTH - This function returns the length of the given string.
  50. ; SET_VAR - This function accepts two parameters a variable name and a value.
  51. ; GET_VAR - This function accepts one parameter the variable name, and it returns its value previosly set with SET_VAR().
  52.  
  53.  
  54.  
  55. AIRBORNE_MESSAGE                 %FORMATION_WITH_POSITION AIRBORNE
  56.  
  57. EJECT_MESSAGE                    %FORMATION_WITH_POSITION EJECTED
  58.  
  59. ; this event is invoked when a simulation entity performs a radar lock
  60. ; it invokes the spike/contact reports appropriately.
  61. RADAR_LOCK_MESSAGE               IF(CONTROLLED_FORMATION INVOKE_PHRASE(CONTACT_REPORT_IN_PHRASE) ELSE INVOKE_PHRASE(SPIKE_REPORT_IN_PHRASE, %THIS) )
  62.  
  63. ; The weapon fire message is invoked whenever a weapon is fired except for the 
  64. ; case of guns
  65. WEAPON_FIRE_MESSAGE              IF(TARGET_CONTROLLED_FORMATION INVOKE_PHRASE(FIRING_ON_ME_MESSAGE_IN_PHRASE %THIS) ELSE INVOKE_PHRASE(FOX_IN_PHRASE))
  66.  
  67. ; the reason gunfire is separated from other weapons is due to the high frequency of gun fire.
  68. GUN_FIRE_MESSAGE                 IF(TARGET_CONTROLLED_FORMATION INVOKE_PHRASE(FIRING_ON_ME_MESSAGE_IN_PHRASE %THIS))
  69.  
  70. ; The tally message is invoked when an enemy entity is of approximate site to a friendly entity
  71. ; for the first time.
  72. ;TALLY_MESSAGE                    IF(IS_TWO_SEATER(%THIS) INVOKE_PHRASE(TALLY_TWO_SEATER_IN_PHRASE) ELSE INVOKE_PHRASE(TALLY_FROM_OTHER_PLANE_IN_PHRASE))
  73. TALLY_MESSAGE                     STR_CONCAT(EXCITED_ %FORMATION_WITH_POSITION) INVOKE_PHRASE(MIG_OR_BANDIT_IN_PHRASE %TALLY_ENTITY) STR_CONCAT(TALLY_EXCITED_ DIRECTION_AS_HOURS(%THIS %TALLY_ENTITY)) STR_CONCAT(TALLY_EXCITED_ RELATIVE_ALTITUDE(%THIS %TALLY_ENTITY))
  74.  
  75. ; the vector to aircraf message is sent with the entity to which the vector is aimed at
  76. ; as the %THIS entity.
  77. VECTOR_TO_AIRCRAFT_MESSAGE       GET_ENTITY_FORMATION(%CONTROLLED_AIRCRAFT) %FLIGHT_CONTROLLER_NAME STR_CONCAT(VECTOR ABS_DIRECTION_AS_DEGREES(%CONTROLLED_AIRCRAFT %THIS)) IF(IS(FRIENDLY) FRIENDLY ELSE IF(IS(ENEMY) BANDIT ELSE BOGIE)) STR_CONCAT(BEARING ABS_DIRECTION_AS_DEGREES(%CONTROLLED_AIRCRAFT %THIS)) GET_ENTITY_DISTANCE(%CONTROLLED_AIRCRAFT) GET_ENTITY_HEIGHT(%THIS) IF(IS(ENEMY) WEAPONS_FREE ELSE HOLD_FIRE)
  78.  
  79. SHORT_VECTOR_TO_AIRCRAFT_MESSAGE GET_ENTITY_FORMATION(%CONTROLLED_AIRCRAFT) STR_CONCAT(VECTOR ABS_DIRECTION_AS_DEGREES(%CONTROLLED_AIRCRAFT %THIS)) GET_ENTITY_DISTANCE(%CONTROLLED_AIRCRAFT) IF(IS(FRIENDLY) FRIENDLY ELSE IF(IS(ENEMY) BANDIT ELSE BOGIE)) IF(IS(CLOSING) CLOSING)
  80.  
  81. ; this message is played when a plane was destroyed by someone.
  82.  
  83. ; splashed one target
  84. SPLASH_MESSAGE                   IF(INVOKE_PHRASE(IS_CONTROLABLE_IN_PHRASE %SHOOTING_ENTITY) %FORMATION_WITH_POSITION STR_CONCAT(SPLASH_ %SPLASHED))
  85.  
  86. ; splashed multiple targets
  87. MULTIPLE_SPLASH_MESSAGE             IF(INVOKE_PHRASE(IS_CONTROLABLE_IN_PHRASE %SHOOTING_ENTITY) %FORMATION_WITH_POSITION SPLASH_TARGETS
  88.  
  89. ; a wingman was shot down
  90. WINGMAN_DOWN_MESSAGE             STR_CONCAT(SPLASH_ %FORMATION_WITH_POSITION) STR_CONCAT(SPLASHED_BY_ %SPLASHING)
  91.  
  92. ; a wingman crashed
  93. WINGMAN_CRASH_MESSAGE             STR_CONCAT(SPLASH_ %FORMATION_WITH_POSITION) CRASHED
  94.  
  95. ; passing waypoint message
  96. PASSING_WAYPOINT_MESSAGE            STR_CONCAT(PLANE_ %FORMATION) STR_CONCAT(PASSING_WAYPOINT %WAYPOINT)
  97. IP_WAYPOINT_MESSAGE                    STR_CONCAT(%FORMATION _IP_INBOUND)
  98.  
  99. ; *************************************************************
  100. ; Takeoff sequence
  101. ; *************************************************************
  102.  
  103. ; taxi request
  104. TAXI_REQUEST_MESSAGE            STR_CONCAT(PLANE_ %TOWER_NAME) STR_CONCAT(PLANE_ %FORMATION) TAXI
  105.  
  106. ; clearance to taxi
  107. CLEAR_TO_TAXI_MESSAGE            STR_CONCAT(TOWER_ %FORMATION) STR_CONCAT(%TOWER_NAME _CLEAR_TO_TAXI) %WIND
  108.  
  109. ; this is the tower controller informing the aircraft it may position itself on the runway
  110. CLEARANCE_TO_LINEUP_MESSAGE     STR_CONCAT(TOWER_ %FORMATION) STR_CONCAT(TOWER_ %TOWER_NAME) STR_CONCAT(%TOWER_NAME _CLEAR_TO_HOLD_RUNWAY)
  111.  
  112. ; this is the tower controller telling the aircraft not position itself on the runway until it is clear
  113. HOLD_POSITION_MESSAGE            STR_CONCAT(TOWER_ %FORMATION) STR_CONCAT(%TOWER_NAME _HOLD_POSITION)
  114.  
  115. ; this message informs the pilot he is clear to takeoff.
  116. CLEAR_TO_TAKEOF_MESSAGE         STR_CONCAT(TOWER_ %FORMATION) STR_CONCAT(TOWER_ %TOWER_NAME) CLEAR_FOR_TAKEOFF
  117.  
  118. ; *************************************************************
  119. ; Landing sequence
  120. ; *************************************************************
  121.  
  122. ; aircraft requesting to start landing sequence
  123. JOIN_REPORT_MESSAGE                STR_CONCAT(PLANE_ %TOWER_NAME) STR_CONCAT(PLANE_ %FORMATION) TEN_FOR_OVERHEAD
  124.  
  125. ; tower controller acknowledge
  126. CLEARANCE_TO_JOIN_MESSAGE        STR_CONCAT(TOWER_ %FORMATION) STR_CONCAT(TOWER_ %TOWER_NAME) INVOKE_PHRASE(LANDING_RUNWAY_IN_PHRASE) %WIND FIVE_MILE_INITIAL
  127.  
  128. ; this is the landing request sent by the pilot
  129. LANDING_REQUEST_MESSAGE         STR_CONCAT(PLANE_ %TOWER_NAME) STR_CONCAT(PLANE_ %FORMATION) BASE_GEAR_DOWN_AND_LOCKED
  130.  
  131. ; if landing gear is not down , you can't land
  132. GEAR_IS_UP_MESSAGE                STR_CONCAT(TOWER_ %FORMATION) STR_CONCAT(TOWER_ %TOWER_NAME) LOWER_GEAR
  133.  
  134. ; send a message authorizing the plane to land.
  135. CLEARANCE_TO_LAND_MESSAGE       STR_CONCAT(TOWER_ %FORMATION) STR_CONCAT(TOWER_ %TOWER_NAME) INVOKE_PHRASE(CLEAR_TO_LAND_RUNWAY_IN_PHRASE)
  136.  
  137. ; runway occupied - circle the airfield
  138. CIRCLE_RUNWAY_MESSAGE            STR_CONCAT(TOWER_ %FORMATION) STR_CONCAT(TOWER_ %TOWER_NAME) RUNWAY_OCCUPIED
  139.  
  140. ; after landing
  141. LANDING_REPORT_MESSAGE          %FORMATION_WITH_POSITION LANDED
  142.  
  143. ; after landing, taxi to hangar
  144. TAXI_TO_PARKING_MESSAGE            STR_CONCAT(TOWER_ %FORMATION) STR_CONCAT(TOWER_ %TOWER_NAME) TAXI_TO_HANGAR
  145.  
  146. ; *************************************************************
  147. ; Air refueling sequence
  148. ; *************************************************************
  149.  
  150. ; this message is used by the refueling aircraft to request vector to tanker from the controller
  151. REQUEST_VECTOR_TO_TANKER_MESSAGE    %FORMATION_WITH_POSITION PLANE_REQUEST_VECTOR_TO_TANKER
  152.  
  153. ; this message is used by the flight controller to give the direction towards the tanker
  154. VECTOR_TO_TANKER_MESSAGE         %FORMATION %FLIGHT_CONTROLLER_NAME STR_CONCAT(VECTOR_TO_TANKER ABS_DIRECTION_AS_DEGREES(%THIS %TANKER_ENTITY)) GET_ENTITY_DISTANCE(%TANKER_ENTITY) GET_ENTITY_HEIGHT(%TANKER_ENTITY) 
  155.  
  156. ; this is a request phrase submited by the plane wishing to refuel.
  157. REQUEST_TO_JOIN_TANKER_MESSAGE   SHELL %FORMATION_WITH_POSITION STR_CONCAT(PLANE_VECTOR ABS_DIRECTION_AS_DEGREES(%TANKER_ENTITY %THIS)) STR_CONCAT(PLANE_ GET_ENTITY_DISTANCE(%TANKER_ENTITY)) STR_CONCAT(PLANE_RFL_ GET_ENTITY_HEIGHT(%THIS)) NOSES_COLD
  158.  
  159. ; this is the reply sent when the REQUEST_TO_JOIN_TANKER_MESSAGE is not cleared
  160. NO_CLEARENCE_TO_TANKER_MESSAGE   STR_CONCAT(TANKER_ %FORMATION_WITH_POSITION) MY_WINGS_ARE_FILLED_WITH_CHICKS
  161. NO_AVAILABLE_TANKER_MESSAGE         NO_TANKER_AVAILABLE
  162.  
  163. ; this is the reply sent when the REQUEST_TO_JOIN_TANKER_MESSAGE is cleared
  164. CLEAR_PRE_CONTACT_TANKER_MESSAGE STR_CONCAT(TANKER_ %FORMATION_WITH_POSITION) CLEAR_PRE_CONTACT
  165. CLEAR_CONTACT_TANKER_MESSAGE     STR_CONCAT(TANKER_ %FORMATION_WITH_POSITION) CLEAR_CONTACT
  166. CLEAR_TO_JOIN_TANKER_MESSAGE     STR_CONCAT(TANKER_ %FORMATION_WITH_POSITION) CLEAR_TO_JOIN_COPY_NOSES_COLD
  167.  
  168. ; this message is invoked when the player needs to set the boomer.
  169. BOOMER_DIRECTION_MESSAGE         %UP_DOWN_BOOMER
  170.  
  171. ; this is the message to be played when connecting to the tanker.
  172. CONNECTED_TO_TANKER_MESSAGE      CONNECTED_IM_SHOWING_FUEL_FLOW
  173.  
  174. ; this message is sent when the tanker is ready to disconnect.
  175. CLEAR_DISCONNECT_TANKER_MESSAGE  STR_CONCAT(TANKER_ %FORMATION_WITH_POSITION) SHOWING_YOURE_FULL
  176.  
  177. ; *************************************************************
  178. ; Wingman Commands
  179. ; *************************************************************
  180.  
  181. ; engage other target
  182. WINGMAN_ENGAGEANYTARGETIMNOT    STR_CONCAT(PLANE_ %PLANE_FORMATION_POS) ENGAGE_THE_OTHER_ONE
  183. FORMATION_ENGAGEANYTARGETIMNOT    STR_CONCAT(STR_CONCAT(WC_ %FORMATION) !) ENGAGE_THE_OTHER_ONE
  184.  
  185. ; engage my target
  186. WINGMAN_ENGAGEDESIGNATETARGET    STR_CONCAT(PLANE_ %PLANE_FORMATION_POS) ENGAGE
  187. FORMATION_ENGAGEDESIGNATETARGET    STR_CONCAT(STR_CONCAT(WC_ %FORMATION) !) ENGAGE
  188.  
  189. ; attck my target (ground)
  190. WINGMAN_ATTACK_MY_TARGET        STR_CONCAT(PLANE_ %PLANE_FORMATION_POS) ATTACK
  191. FORMATION_ATTACK_MY_TARGET        STR_CONCAT(STR_CONCAT(WC_ %FORMATION) !) ATTACK
  192.  
  193. ; engage my laser designated target
  194. WINGMAN_ENGAGE_LASER_TARGET        STR_CONCAT(PLANE_ %PLANE_FORMATION_POS) LASING_TARGET_ENGAGE
  195. FORMATION_ENGAGE_LASER_TARGET    STR_CONCAT(STR_CONCAT(WC_ %FORMATION) !) LASING_TARGET_ENGAGE
  196.  
  197. ; protect me !
  198. WINGMAN_PROTECTME                STR_CONCAT(PLANE_ %PLANE_FORMATION_POS) GET_HIM_OFF_ME
  199. FORMATION_PROTECTME                STR_CONCAT(STR_CONCAT(WC_ %FORMATION) !) GET_HIM_OFF_ME
  200.  
  201. ; lase my target
  202. WINGMAN_LASE_MY_TARGET            STR_CONCAT(PLANE_ %PLANE_FORMATION_POS) LASE_MY_TARGET
  203. FORMATION_LASE_MY_TARGET        STR_CONCAT(STR_CONCAT(WC_ %FORMATION) !) LASE_MY_TARGET
  204.  
  205. ; echelon
  206. FORMATION_ECHELON_GO            STR_CONCAT(STR_CONCAT(WC_ %FORMATION) !) GO_ECHELON
  207.  
  208. ; trail
  209. FORMATION_TRAIL_GO                STR_CONCAT(STR_CONCAT(WC_ %FORMATION) !) GO_TRAIL
  210.  
  211. ; wedge
  212. FORMATION_WEDGE_GO                STR_CONCAT(STR_CONCAT(WC_ %FORMATION) !) GO_WEDGE
  213.  
  214. ; close formation
  215. FORMATION_CLOSE_GO                STR_CONCAT(STR_CONCAT(WC_ %FORMATION) !) MOVE_CLOSER
  216.  
  217. ; spread
  218. FORMATION_SPREAD_GO                STR_CONCAT(STR_CONCAT(WC_ %FORMATION) !) SPREAD
  219.  
  220. ; line 
  221. FORMATION_LINE_GO                STR_CONCAT(STR_CONCAT(WC_ %FORMATION) !) GO_LINE
  222.  
  223. ; hold
  224. WINGMAN_HOLD                    STR_CONCAT(PLANE_ %PLANE_FORMATION_POS) ORBIT
  225. FORMATION_HOLD                    STR_CONCAT(STR_CONCAT(WC_ %FORMATION) !) ORBIT
  226.  
  227. ; sort targets
  228. WINGMAN_SORT                    STR_CONCAT(PLANE_ %PLANE_FORMATION_POS) SORT_TARGETS
  229. FORMATION_SORT                    STR_CONCAT(STR_CONCAT(WC_ %FORMATION) !) SORT_TARGETS
  230.  
  231. ; bugout
  232. WINGMAN_BUGOUT                    STR_CONCAT(PLANE_ %PLANE_FORMATION_POS) BUG_OUT
  233. FORMATION_BUGOUT                STR_CONCAT(STR_CONCAT(WC_ %FORMATION) !) BUG_OUT
  234.  
  235. ; drop tanks
  236. WINGMAN_TANKS                    STR_CONCAT(PLANE_ %PLANE_FORMATION_POS) TANKS
  237. FORMATION_TANKS                    STR_CONCAT(STR_CONCAT(WC_ %FORMATION) !) TANKS
  238.  
  239. ; status report
  240. WINGMAN_STATUS                    STR_CONCAT(PLANE_ %PLANE_FORMATION_POS) WHAT_STATE
  241. FORMATION_STATUS                STR_CONCAT(STR_CONCAT(WC_ %FORMATION) !) WHAT_STATE
  242.  
  243. ; refuel
  244. WINGMAN_REFUEL                    STR_CONCAT(PLANE_ %PLANE_FORMATION_POS) REFUEL
  245. FORMATION_REFUEL                STR_CONCAT(STR_CONCAT(WC_ %FORMATION) !) REFUEL
  246.  
  247. ; *************************************************************
  248. ; Wingman Replies
  249. ; *************************************************************
  250.  
  251. ; negative reply
  252. WINGMAN_REPLY_NEGATIVE             STR_CONCAT(WINGMAN_ %PLANE_FORMATION_POS) WINGMAN_NO_CAN_DO
  253.  
  254. ; engaging target wingman response.
  255. ENGAGING_MESSAGE                 STR_CONCAT(WINGMAN_ %PLANE_FORMATION_POS) ENGAGING
  256.  
  257. ; atttac    king (ground)
  258. ATTACKING_MESSAGE                 STR_CONCAT(WINGMAN_ %PLANE_FORMATION_POS) ATTACKING
  259.  
  260. ; sorting radar target.
  261. SORTED_MESSAGE                   STR_CONCAT(WINGMAN_ %PLANE_FORMATION_POS) SORTED
  262.  
  263. ; pursuing an engaged target.
  264. PURSUING_MESSAGE                 STR_CONCAT(WINGMAN_ %PLANE_FORMATION_POS) RANDOM_VALUE(ENGAGING ROGER_PURSUING)
  265.  
  266. ; a reply to the protect me message.
  267. DEFENDING_YOU_MESSAGE            STR_CONCAT(WINGMAN_ %PLANE_FORMATION_POS) RANDOM_VALUE(ROGER_DEFENDING_YOU ROGER_ON_MY_WAY)
  268.  
  269. ; reply to hold position
  270. STARTING_ORBIT_MESSAGE           STR_CONCAT(WINGMAN_ %PLANE_FORMATION_POS) COPY_STARTING_ORBIT
  271.  
  272. ; this message is played when the tanks are thrown.
  273. THROW_TANKS_MESSAGE              STR_CONCAT(WINGMAN_ %PLANE_FORMATION_POS) PUNCHING_TANKS
  274.  
  275. ; reply to bugout
  276. GOING_HOME_MESSAGE               ROGER STR_CONCAT(WINGMAN_ %PLANE_FORMATION_POS) GOING_HOME
  277.  
  278. ; reply to the join message.
  279. JOIN_MESSAGE                     STR_CONCAT(WINGMAN_ %PLANE_FORMATION_POS) COPY_JOINING
  280.  
  281. ; reply to echelon message 
  282. FORMATION_ECHELON                 STR_CONCAT(WINGMAN_ %PLANE_FORMATION_POS) ECHELON
  283.  
  284. ; reply to wedge message 
  285. FORMATION_WEDGE                     STR_CONCAT(WINGMAN_ %PLANE_FORMATION_POS) WEDGE
  286.  
  287. ; reply to trail message 
  288. FORMATION_TRAIL                     STR_CONCAT(WINGMAN_ %PLANE_FORMATION_POS) TRAIL
  289.  
  290. ; reply to refuel message
  291. WINGMAN_REPLY_REFUEL             STR_CONCAT(WINGMAN_ %PLANE_FORMATION_POS) ROGER_REFUEL
  292.  
  293. ; reply to designate message
  294. WINGMAN_DESIGNATING_NOW             STR_CONCAT(WINGMAN_ %PLANE_FORMATION_POS) ROGER_DESIGNATING
  295.  
  296. ; reply to line message
  297. WINGMAN_REPLY_LINE                 STR_CONCAT(WINGMAN_ %PLANE_FORMATION_POS) LINE
  298.  
  299. ; refueling complete - joining
  300. WINGMAN_REFUEL_COMPLETE             STR_CONCAT(WINGMAN_ %PLANE_FORMATION_POS) REFUEL_COMPLETE
  301.  
  302. ; target destroyed - joining
  303. WINGMAN_TARGET_DESTROYED         STR_CONCAT(WINGMAN_ %PLANE_FORMATION_POS) TARGET_DESTROYED
  304.  
  305. ; this message is used for generic wingman command replies.
  306. FORMATION_POS_MESSAGE            STR_CONCAT(WINGMAN_ %PLANE_FORMATION_POS)
  307.  
  308. ; this message is played by a brain action to reflect the status of the plane load.
  309. STATUS_REPORT_MESSAGE            STR_CONCAT(WINGMAN_ %PLANE_FORMATION_POS) %RADAR_MISSILE_COUNT %HEAT_MISSILE_COUNT %FUEL_LOAD
  310.  
  311. ; played by a brain that is engaged offensively
  312. ENGAGING_OFFENSIVE                 IF(INVOKE_PHRASE(IS_PLAYER_WINGMAN_IN_PHRASE %THIS) STR_CONCAT(TALLY_EXCITED_ %FORMATION_WITH_POSITION) ENGAGED_OFFENSIVE STR_CONCAT(ENGAGING_ %ENGAGED_TYPE))
  313.  
  314. ; played by a brain that is engaged defensively
  315. ENGAGING_DEFENSIVE                 IF(INVOKE_PHRASE(IS_PLAYER_WINGMAN_IN_PHRASE %THIS) STR_CONCAT(TALLY_EXCITED_ %FORMATION_WITH_POSITION) ENGAGED_DEFENSIVE STR_CONCAT(ENGAGING_ %ENGAGED_TYPE))
  316.  
  317. ; *************************************************************
  318. ; These are inner phrases not called directly by the simulation
  319. ; The inner phrases are simply functions used by the regular
  320. ; phrases.
  321. ; *************************************************************
  322.  
  323. ; contact report is invoked when a controlled formation locks on an entity.
  324. CONTACT_REPORT_IN_PHRASE           %FORMATION_WITH_POSITION STR_CONCAT(CONTACT ABS_DIRECTION_AS_DEGREES(%THIS %LOCKED_ON_ENTITY)) STR_CONCAT(PLANE_ GET_ENTITY_DISTANCE(%LOCKED_ON_ENTITY)) STR_CONCAT(PLANE_ GET_ENTITY_HEIGHT(%LOCKED_ON_ENTITY))
  325.  
  326. ; the spike message is invoked when a plane locks on a controlled formation.
  327. SPIKE_REPORT_IN_PHRASE             GET_ENTITY_FORMATION_WITH_POS(%LOCKED_ON_ENTITY) IF(GROUND_TARGET MUD_SPIKE ELSE SPIKE) STR_CONCAT(DEGREE ABS_DIRECTION_AS_DEGREES(%LOCKED_ON_ENTITY %THIS))
  328.  
  329. ; this is a tally message reported by the wingman when a two seat plane spots an enemy.
  330. ;TALLY_TWO_SEATER_IN_PHRASE        INVOKE_PHRASE(MIG_OR_BANDIT_IN_PHRASE %TALLY_ENTITY) STR_CONCAT(TALLY_EXCITED_ DIRECTION_AS_HOURS(%THIS %TALLY_ENTITY))
  331.  
  332. ; this is the tally message sent by another plane (it includes callsign etc...)
  333. ;TALLY_FROM_OTHER_PLANE_IN_PHRASE  STR_CONCAT(EXCITED_ %FORMATION_WITH_POSITION) INVOKE_PHRASE(TALLY_TWO_SEATER_IN_PHRASE)
  334.  
  335. ; this message is invoked by the weapon fire message when a controlled formation is being
  336. ; fired upon.
  337. FIRING_ON_ME_MESSAGE_IN_PHRASE      IF(IS_TWO_SEATER(%LOCKED_ON_ENTITY) INVOKE_PHRASE(FIRING_ON_ME_TWO_SEATER_IN_PHRASE) ELSE INVOKE_PHRASE(FIRING_ON_ME_IN_PHRASE))
  338.  
  339. ; these messages get invoked appropriately by the firing on me phrase when the user gets fired on.
  340. FIRING_ON_ME_TWO_SEATER_IN_PHRASE %FIRE_TYPE STR_CONCAT(WC_ DIRECTION_AS_HOURS(%LOCKED_ON_ENTITY %THIS))
  341. FIRING_ON_ME_IN_PHRASE            STR_CONCAT(STR_CONCAT(WC_ GET_ENTITY_FORMATION(%LOCKED_ON_ENTITY)) !) %FIRE_TYPE STR_CONCAT(WC_ DIRECTION_AS_HOURS(%LOCKED_ON_ENTITY %THIS))
  342.  
  343. ; this is the fox fire message which is shouted by the pilot when ever a weapon is fired
  344. ; other than guns.
  345. FOX_IN_PHRASE                     %FORMATION_WITH_POSITION %FOX_FIRE_TYPE
  346.  
  347. ; this in phrase returns mig or bandit as to which entity it has in it
  348. MIG_OR_BANDIT_IN_PHRASE           STR_CONCAT(TALLY_ IF(IS(MIG) MIG ELSE BANDIT))
  349.  
  350. ; this phrase returns true for a controlled formation and false otherwise.
  351. IS_CONTROLABLE_IN_PHRASE          IF(CONTROLLABLE_FORMATION TRUE ELSE FALSE)
  352. IS_PLAYER_WINGMAN_IN_PHRASE       IF(CONTROLLED_FORMATION TRUE ELSE FALSE)
  353.  
  354. ; The runway used for landing, according to the control tower
  355. CLEAR_TO_LAND_RUNWAY_IN_PHRASE      STR_CONCAT(%TOWER_NAME _CLEAR_TO_LAND)
  356. LANDING_RUNWAY_IN_PHRASE          STR_CONCAT(%TOWER_NAME _LANDING)          
  357.  
  358. SHOOTING_FRIENDLY_MESSGAGE            %FRIENDLY_FIRE_TYPE
  359.  
  360.  
  361. ; *********************
  362. ; All Out War messages
  363. ; *********************
  364. AOW_RADAR_LOCK_MESSAGE                    IF(CONTROLLED_FORMATION INVOKE_PHRASE(AOW_CONTACT_REPORT_IN_PHRASE) ELSE INVOKE_PHRASE(AOW_SPIKE_REPORT_IN_PHRASE, %THIS) )
  365. AOW_WEAPON_FIRE_MESSAGE                    IF(CONTROLLED_FORMATION %FOX_FIRE_TYPE ELSE INVOKE_PHRASE(AOW_FIRING_ON_ME_MESSAGE_IN_PHRASE %THIS))
  366. AOW_SPLASH_MESSAGE                        STR_CONCAT(SPLASH_ %SPLASHED))
  367.  
  368. AOW_CONTACT_REPORT_IN_PHRASE            STR_CONCAT(CONTACT ABS_DIRECTION_AS_DEGREES(%THIS %LOCKED_ON_ENTITY)) STR_CONCAT(PLANE_ GET_ENTITY_DISTANCE(%LOCKED_ON_ENTITY)) STR_CONCAT(PLANE_ GET_ENTITY_HEIGHT(%LOCKED_ON_ENTITY))
  369. AOW_SPIKE_REPORT_IN_PHRASE              IF(GROUND_TARGET MUD_SPIKE ELSE SPIKE) STR_CONCAT(DEGREE ABS_DIRECTION_AS_DEGREES(%LOCKED_ON_ENTITY %THIS))
  370. AOW_FIRING_ON_ME_MESSAGE_IN_PHRASE        %FIRE_TYPE STR_CONCAT(WC_ DIRECTION_AS_HOURS(%LOCKED_ON_ENTITY %THIS))
  371.  
  372. ; ****************************
  373. ; Special Multiplayer Messages
  374. ; ****************************
  375. SPMP_MISSILE_FIRE    STR_CONCAT(STR_CONCAT(WC_ GET_ENTITY_FORMATION(%CONTROLLED_AIRCRAFT)) !) BREAK_MISSILE! STR_CONCAT(WC_ DIRECTION_AS_HOURS(%CONTROLLED_AIRCRAFT %THIS))
  376. SPMP_GUN_FIRE        STR_CONCAT(STR_CONCAT(WC_ GET_ENTITY_FORMATION(%CONTROLLED_AIRCRAFT)) !) JINK_GUNS! STR_CONCAT(WC_ DIRECTION_AS_HOURS(%CONTROLLED_AIRCRAFT %THIS))
  377.